﻿Imports System.Collections.Generic

Namespace Pop.Api.Request

    Public Interface IPopRequest(Of T As PopResponse)

        ''' <summary>
        ''' 获取API接口名称。
        ''' </summary>
        ''' <returns>接口名称</returns>
        Function GetApiName() As String

        ''' <summary>
        ''' 获取所有的Key-Value形式的文本请求参数字典。
        ''' </summary>
        ''' <returns>文本请求参数字典</returns>
        Function GetParameters() As IEnumerable(Of KeyValuePair(Of String, String))

        ''' <summary>
        ''' 输出格式(xml,json)
        ''' </summary>
        Property Format As String

        ''' <summary>
        ''' 获取API接口地址。
        ''' </summary>
        ''' <returns>接口地址</returns>
        Function ServerUrl() As String

        ''' <summary>
        ''' 提前验证参数。
        ''' </summary>
        Sub Validate()

    End Interface

End Namespace